Method and Apparatus for Open-Vocabulary End-to-End Speech Recognition

ABSTRACT

A speech recognition system includes an input device to receive voice sounds, one or more processors, and one or more storage devices storing parameters and program modules including instructions which cause the one or more processors to perform operations. The operations include extracting an acoustic feature sequence from audio waveform data converted from the voice sounds, encoding the acoustic feature sequence into a hidden vector sequence using an encoder network having encoder network parameters, predicting first output label sequence probabilities by feeding the hidden vector sequence to a decoder network having decoder network parameters, predicting second output level sequence probabilities by a hybrid network using character-base language models (LMs) and word-level LMs; and searching, using a label sequence search module, for an output label sequence having a highest sequence probability by combining the first and second output label sequence probabilities provided from the decoder network and the hybrid network.

FIELD OF THE INVENTION

This invention generally relates to an apparatus and a method for open-vocabulary end-to-end speech recognition, and more specifically to a method and system for end-to-end automatic speech recognition based on character-level and word-level language models.

BACKGROUND OF THE INVENTION

Automatic speech recognition is currently a mature set of technologies that have been widely deployed, resulting in great success in interface applications such as voice search. However, it is not easy to build a speech recognition system that achieves high recognition accuracy. One problem is that it requires deep linguistic knowledge on the target language that the system accepts. For example, a set of phonemes, a vocabulary, and a pronunciation lexicon are indispensable for building such a system. The phoneme set needs to be carefully defined by linguists of the language. The pronunciation lexicon needs to be created manually by assigning one or more phoneme sequences to each word in the vocabulary including over 100 thousand words. Moreover, some languages do not explicitly have a word boundary and therefore we may need tokenization to create the vocabulary from a text corpus. Consequently, it is quite difficult for non-experts to develop speech recognition systems especially for minor languages. The other problem is that a speech recognition system is factorized into several modules including acoustic, lexicon, and language models, which are optimized separately. This architecture may result in local optima, although each model is trained to match the other models.

End-to-end speech recognition has the goal of simplifying the conventional architecture into a single neural network architecture within a deep learning framework. To address or solve these problems, various techniques have been discussed in some literature. State-of-the-art end-to-end speech recognition systems are designed to predict a character sequence for a given speech input, because predicting word sequences directly from speech without pronunciation lexicon is much more difficult than predicting character sequences. However, the character-based prediction generally under-performs relative to word-based prediction, because of the difficulty of modeling linguistic constraints across long sequences of characters. If we have much more speech data with the corresponding transcripts, we could train a better neural network that predicts word sequences. However, it is very costly to collect such transcribed speech data and train the network with the large data set. Therefore, it is not easy to incorporate word-level prediction in the end-to-end speech recognition to improve recognition accuracy.

SUMMARY OF THE INVENTION

Some embodiments of the present disclosure are based on recognition that it is possible to improve label sequence prediction by a combination of character-level and word-level language models (LMs) in an end-to-end automatic speech recognition (ASR) architecture, where a LM may be a recurrent neural network (RNN) including long short-term memory (LSTM) units.

A character-level LM is combined with an attention decoder network module and connectionist temporal classification (CTC) module for end-to-end ASR. The character-level LM improves recognition accuracy to rival state-of-the-art DNN/HMM-based ASR systems in some languages. Although a character-level architecture can provide a way of open vocabulary ASR, the character-level LMs generally under-perform relative to word-level LMs for languages such as English with a small alphabet, because of the difficulty of modeling linguistic constraints across long sequences of characters.

Some embodiments of the present invention provide a novel method for end-to-end ASR decoding with LMs at both the character and word levels. In the decoding process of the present invention, character sequence hypotheses are first scored with the character-level LM until a word boundary is encountered. Known words are then re-scored using the word-level LM, while the character-level LM provides scores for out-of-vocabulary words.

This approach exploits the benefits of both character and word level architectures, and enables high-accuracy open-vocabulary end-to-end ASR. The evaluation results will be discussed at the end of the disclosure with a standard Wall Street Journal (WSJ) task and show significant improvement by the open-vocabulary end-to-end ASR.

According to some embodiments of the present invention, a speech recognition system includes an input device to receive voice sounds; one or more processors; and one or more storage devices storing parameters and program modules including instructions executable by the one or more processors which, when executed, cause the one or more processors to perform operations that include extracting, using an acoustic feature extraction module, an acoustic feature sequence from audio waveform data converted from the voice sounds; encoding the acoustic feature sequence into a hidden vector sequence using an encoder network having encoder network parameters; predicting first output label sequence probabilities by feeding the hidden vector sequence to a decoder network having decoder network parameters; predicting second output level sequence probabilities by a hybrid network using character-level language models (LMs) and word-level LMs; and searching, using a label sequence search module, for an output label sequence having a highest sequence probability by combining the first and second output label sequence probabilities provided from the decoder network and the hybrid network.

According to another embodiment of the present invention, a non-transitory computer readable-recoding medium storing a program causing a computer, in communication with a memory, to execute speech recognition process, the speech recognition process includes providing voice sounds; extracting, using an acoustic feature extraction module, an acoustic feature sequence from audio waveform data converted from the voice sounds; encoding the acoustic feature sequence into a hidden vector sequence using an encoder network having encoder network parameters; predicting first output label sequence probabilities by feeding the hidden vector sequence to a decoder network having decoder network parameters; predicting second output level sequence probabilities by a hybrid network using character-level language models (LMs) and word-level LMs; and searching, using a label sequence search module, for an output label sequence having a highest sequence probability by combining the first and second output label sequence probabilities provided from the decoder network and the hybrid network.

BRIEF DESCRIPTION OF THE DRAWINGS

The presently disclosed embodiments will be further explained with reference to the attached drawings. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments.

FIG. 1 is a block diagram illustrating an attention-based end-to-end speech recognition method according to a related art;

FIG. 2 is a block diagram illustrating an open-vocabulary end-to-end speech recognition module, according to embodiments of the present invention;

FIG. 3 is a schematic diagram illustrating neural networks in an open-vocabulary end-to-end speech recognition module, according to embodiments of the present invention;

FIG. 4 is a block diagram illustrating an open-vocabulary end-to-end speech recognition system, according to embodiments of the present invention;

FIG. 5A is an evaluation result obtained by performing an open-vocabulary end-to-end speech recognition, according to embodiments of the present invention;

FIG. 5B shows word error rate (WER) with different language models, according to embodiments of the present invention;

FIG. 6 is an evaluation result indicating word error rates as a function of beam widths, according to an open-vocabulary end-to-end speech recognition, according to embodiments of the present invention; and

FIG. 7 is an evaluation result indicating the comparison of WERs when using different vocabulary sizes from 20K to 65K and the open vocabulary condition.

While the above-identified drawings set forth presently disclosed embodiments, other embodiments are also contemplated, as noted in the discussion. This disclosure presents illustrative embodiments by way of representation and not limitation. Numerous other modifications and embodiments can be devised by those skilled in the art which fall within the scope and spirit of the principles of the presently disclosed embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.

Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.

Also, individual embodiments may be described as a process, which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.

Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.

Modules and networks exemplified in the present disclosure may be computer programs, software or instruction codes, which can execute instructions using one or more processors. Modules and networks may be stored in one or more storage devices or otherwise stored into computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape, in which the computer readable media are accessible from the one or more processors to execute the instructions.

Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Computer storage media may be RAM, ROM, EEPROM or flash memory, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both using one or more processors. Any such computer storage media may be part of the device or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.

FIG. 1 is a block diagram illustrating an attention-based end-to-end speech recognition module 100 according to a related art. In the attention-based end-to-end speech recognition module 100, an encoder module 102 first converts acoustic feature sequence 101 into a hidden vector sequence using an encoder network read from encoder network parameters 103. Next, an attention decoder module 104 receives the hidden vector sequence from the encoder network module 102 and a previous label from a label sequence search module 106, and computes a posterior probability distribution of the next label for the previous label using a decoder network read from decoder network parameters 105, where labels can be letters, syllables, words or any units that represent a target language, but letters are widely used. The label sequence search module 106 finds the label sequence with the highest sequence probability using posterior probability distributions given by the attention decoder module 104, where the posterior probability of label sequence is computed as a product of the posterior probabilities of labels in the sequence.

The attention-based end-to-end speech recognition system is usually designed to predict character sequences for given speech input, because the encoder network parameters 103 and the decoder network parameters 105 can be optimized with much smaller amount of data compared to the case that the system predicts word sequences. However, if sufficient training data are available, the character-based prediction generally under-performs relative to word-based prediction, because of the difficulty of modeling linguistic constraints across long sequences of characters. But, it is very costly to collect a large amount of speech data with corresponding manual transcriptions. Therefore, it is not easy to incorporate word-level prediction in the end-to-end speech recognition to improve recognition accuracy.

Moreover, there is another problem when performing word-level prediction, which is known as the out-of-vocabulary (OOV) problem. In general, there exist a lot of words, which are not included in the vocabulary of an ASR system, because all words do not appear in the training data, and new words are often created by humans. The OOV problem is that such OOV words in the speech signal cannot be recognized correctly by the ASR system.

Some embodiments of the invention are based on recognition that it is possible to improve the accuracy of label sequence hypotheses by combining the attention-based probability with the character-level LM probabilities and word-level LM probabilities. The character-level and word-level LMs can be trained with text-only data. Since text data can be collected more easily than transcribed speech data, the invention enables us to perform word-level prediction for end-to-end ASR, which improves speech recognition accuracy by training the word-level LM with sufficient text data. Furthermore, the invention also mitigates the OOV problem by combining the character-level and word-level LMs.

FIG. 2 is a block diagram illustrating an open-vocabulary end-to-end speech recognition module 200 according to embodiments of the present invention. The open-vocabulary end-to-end speech recognition module 200 includes an encoder network module 202, encoder network parameters 203, an attention decoder module 204, decoder network parameters 205, a label sequence search module 206, a CTC module 208, CTC network parameters 209 and an LM module 210, character LM parameters 211, and word LM parameters 212. The encoder network parameters 203, the decoder network parameters 205, the CTC network parameters 209, the LM parameters are respectively stored in a storage device to provide parameters to corresponding modules 202, 204, 208 and 210. An acoustic feature sequence 201 is extracted from audio waveform data or spectrum data using an acoustic feature extraction module 434 in FIG. 4. The audio waveform data or spectrum data may be stored in a storage device and provided to the encoder network module 202. The audio waveform data or spectrum data may be obtained via an input device 475 in FIG. 4 using a digital signal processing module (not shown) receiving and converting voice sounds into the audio waveform or spectrum data. Further, the audio waveform or spectrum data stored in a storage device 430 or memory 440 may be provided to the encoder network module 202. The signal of the voice sounds may be provided via a network 490 in FIG. 4, and the input device 475 may be a microphone device.

The encoder network module 202 includes an encoder network that converts acoustic feature sequence 201 into a hidden vector sequence using the encoder network reading parameters from the encoder network parameters 203.

An attention mechanism using an attention decoder network module 204 is described as follows. The attention decoder network module 204 includes a decoder network. The attention decoder network module 204 receives the hidden vector sequence from the encoder network module 202 and a previous label from the label sequence search module 206, and then computes first posterior probability distributions of the next label for the previous label using the decoder network reading parameters from the decoder network parameters 205. The attention decoder network module 204 provides the first posterior probability distribution to the label sequence search module 206. The CTC module 208 receives the hidden vector sequence from the encoder network module 202 and the previous label from the label sequence search module 206, and computes second posterior probability distributions of the next label sequence using the CTC network parameters 209 and a dynamic programming technique. After the computation, the CTC module 208 provides the second posterior probability distributions to the label sequence search module 206.

The LM module 210 receives the previous label from the label sequence search module 206, and computes third posterior probability distributions of the next label sequence using the LM parameters 211. Further, after the computation, the LM module 210 provides the third posterior probability distributions to the label sequence search module 206.

The label sequence search module 206 finds the label sequence with the highest sequence probability using the first, second and third posterior probability distributions provided from the attention decoder network module 204, the CTC module 208 and the LM module 210. The first, second and third posterior probabilities of label sequence computed by the attention decoder network module 204, the CTC module 208 and the LM module 210 are combined into one probability. In this case, the combination of the computed posterior probabilities may be performed based on the linear combination. With the open-vocabulary end-to-end speech recognition module 200, it becomes possible to take the CTC-based, attention-based and LM-based probabilities into account to find a better hypothesis to the input acoustic feature sequence.

According to embodiments of the present disclosure, it becomes possible to improve the recognition accuracy of end-to-end ASR by introducing the LM module 210. The LM module 210 may include a character-level recurrent neural network (RNN) and a word-level RNN. In some cases, the LM module 210 may be referred to as a hybrid network or a hybrid network module. In this case, the LM module 210 computes the LM probabilities using the character-level LM defined by character LM parameters 211 and the word-level LM defined by word LM parameters 212. The LM module also makes it possible to perform open-vocabulary speech recognition, i.e., even if OOV words are spoken, they are recognized by using the both character-level and word-level LMs. In the decoding process of the present invention, character sequence hypotheses are first scored with the character-level LM probabilities until a word boundary is encountered. Known words are then re-scored using the word-level LM probabilities, while the character-level LM provides LM probability scores for OOV words.

Attention-Based End-to-End Speech Recognition

End-to-end speech recognition is generally defined as a problem to find the most probable label sequence Ŷ given input acoustic feature sequence X, i.e.

$\begin{matrix} {{\hat{Y} = {\underset{Y \in ^{*}}{{argmax}\;}{p\left( Y \middle| X \right)}}},} & (1) \end{matrix}$

where

* denotes a set of possible label sequences given a set of pre-defined labels

. A label may be a character or a word.

In end-to-end speech recognition, p(Y|X) is computed by a pre-trained neural network without pronunciation lexicon and language model. In the attention-based end-to-end speech recognition of a related art, the neural network consists of an encoder network and a decoder network.

An encoder module 102 includes an encoder network used to convert acoustic feature sequence X=x₁, . . . , x₇-, into hidden vector sequence H=h₁, . . . , h_(T) as

H=Encoder(X),  (2)

where function Encoder(X) may consist of one or more recurrent neural networks (RNNs), which are stacked. An RNN may be implemented as a Long Short-Term Memory (LSTM), which has an input gate, a forget gate, an output gate and a memory cell in each hidden unit. Another RNN may be a bidirectional RNN (BRNNs) or a bidirectional LSTM (BLSTM). A BLSTM is a pair of LSTM RNNs, one is a forward LSTM and the other is a backward LSTM. A Hidden vector of the BLSTM is obtained as a concatenation of hidden vectors of the forward and backward LSTMs.

With the forward LSTM, the forward t-th hidden vector hr is computed as

h _(t) ^(F) =o _(t) ^(F)⊙ tan h(c _(t) ^(F))  (3)

o _(t) ^(F)=σ(W _(xo) ^(F) x _(t) +W _(xc) ^(F) h _(t−1) ^(F) +b _(o) ^(F))  (4)

c _(t) ^(F) =f _(t) ^(F) ⊙c _(t−1) ^(F) +i _(t) ^(F)⊙ tan h(W _(xc) ^(F) x _(t) +W _(hc) ^(F) h _(t−1) ^(F) +b _(c) ^(F))  (5)

f _(t) ^(F)=σ(W _(xf) ^(F) x _(t) +W _(hg) ^(F) h _(t−1) ^(F) +b _(f) ^(F))  (6)

i _(t) ^(F)=σ(W _(xi) ^(F) x _(t) +W _(hi) ^(F) h _(t−1) ^(F) +b _(i) ^(F)).  (7)

where σ(·) is the element-wise sigmoid function, tan h(·) is the element-wise hyperbolic tangent function, and i_(t) ^(F), f_(t) ^(F), o_(t) ^(F) and c_(t) ^(F) are the input gate, forget gate, output gate, and cell activation vectors for x_(t), respectively. ⊙ denotes the element-wise multiplication between vectors. The weight matrices W_(zz) ^(F) and the bias vector b_(z) ^(F) are the parameters of the LSTM, which are identified by the subscript z∈{x, h, i, f, o, c}. For example, W_(hi) ^(F) is the hidden-to-input gate matrix and W_(xo) ^(F) is the input-to-output gate matrix. The hidden vector h_(t) ^(F) is obtained recursively from the input vector x_(t) and the previous hidden vector h_(t−1) ^(F), where h₀ ^(F) is assumed to be a zero vector.

With the backward LSTM, the backward t-th hidden vector h_(t) ^(B) is computed as

h _(t) ^(B) =o _(t) ^(B)⊙ tan h(c _(t) ^(B))  (8)

o _(t) ^(B)=σ(W _(xo) ^(B) x _(t) +W _(xc) ^(B) h _(t−1) ^(B) +b _(o) ^(B))  (9)

c _(t) ^(B) =f _(t) ^(B) ⊙c _(t−1) ^(B) +i _(t) ^(B)⊙ tan h(W _(xc) ^(B) x _(t) +W _(hc) ^(B) h _(t−1) ^(B) +b _(c) ^(B))  (10)

f _(t) ^(B)=σ(W _(xf) ^(B) x _(t) +W _(hg) ^(B) h _(t−1) ^(B) +b _(f) ^(B))  (11)

i _(t) ^(B)=σ(W _(xi) ^(B) x _(t) +W _(hi) ^(B) h _(t−1) ^(B) +b _(i) ^(B)).  (12)

where i_(t) ^(B), f_(t) ^(B), o_(t) ^(B) and c_(t) ^(B) are the input gate, forget gate, output gate, and cell activation vectors for x_(t), respectively. The weight matrices W_(zz) ^(B), and the bias vector b_(z) ^(B) are the parameters of the LSTM, which are identified by the subscript in the same manner as the forward LSTM. The hidden vector h_(t) ^(B) is obtained recursively from the input vector x_(t) and the succeeding hidden vector h_(t+1) ^(B), where h_(T+1) ^(B) is assumed to be a zero vector.

The hidden vector of the BLSTM is obtained by concatenating the forward and backward hidden vectors as

$\begin{matrix} {h_{t} = \left\lbrack {h_{t}^{F^{T}},h_{t}^{B^{T}}} \right\rbrack^{T}} & (13) \end{matrix}$

where T denotes the transpose operation for the vectors assuming all the vectors are column vectors. W_(zz) ^(F), b_(z) ^(F), W_(zz) ^(B), and b_(z) ^(B) are considered the parameters of the BLSTM.

To obtain better hidden vectors, we may stack multiple BLSTMs by feeding the hidden vectors of the first BLSTM to the second BLSTM, then feeding the hidden vectors of the second BLSTM to the third BLSTM, and so on. If h_(t)′ is a hidden vector obtained by one BLSTM, we assume x_(t)=h_(t)′ when feeding it to another BLSTM. To reduce the computation, it may feed only every second hidden vectors of one BLSTM to another BLSTM. In this case, the length of output hidden vector sequence becomes the half of the length of input acoustic feature sequence.

All the parameters W_(zz) ^(F), b_(z) ^(F), W_(zz) ^(B), and b_(z) ^(B) identified by the subscript z∈{x, h, i, f, o, c} of the multiple BLSTMs are stored in the encoder network parameters 203, and used to compute hidden vector sequence H.

An attention decoder module 104 includes a decoder network used to compute label sequence probability p_(att)(Y|X) using hidden vector sequence H. Suppose Y is an L-length label sequence y₁, y₂, . . . , y_(L). To compute p_(att)(Y|X) efficiently, the probability can be factorized by a probabilistic chain rule as

$\begin{matrix} {{{p_{att}\left( Y \middle| X \right)} = {\prod\limits_{l = 1}^{L}\; {p_{att}\left( {\left. y_{l} \middle| y_{1} \right.,\ldots \mspace{11mu},y_{l - 1},X} \right)}}},} & (14) \end{matrix}$

and each label probability p_(att)/(y_(l)|y₁, . . . y_(l−1), X) is obtained from a probability distribution over labels, which is estimated using the decoder network as

p _(att)(y|y ₁ , . . . ,y _(l−1) ,X)=Decoder(r _(l) ,q _(l−1)),  (15)

where y is a random variable representing a label, r_(l) is called a content vector, which has content information of H. q_(l−1) is a decoder state vector, which contains contextual information of the previous labels y₁, . . . , y_(l−1), and the previous content vectors r₀, . . . , r_(l−1). Accordingly, the label probability is obtained as the probability of y=y_(l) given the context, i.e.

p _(att)(y _(l) |y ₁ , . . . ,y _(l−1) ,X)=p _(att)(y=y _(l) |y ₁ , . . . ,y _(l−1) ,X)  (16)

The content vector r_(l) is usually given as a weighted sum of hidden vectors of the encoder network, i.e.

$\begin{matrix} {{r_{l} = {\sum\limits_{t}\; {a_{lt}h_{t}}}},} & (17) \end{matrix}$

where a_(lt) is called an attention weight that satisfies Σ_(t)a_(lt)=1. The attention weights can be computed using q_(l−1) and H as

$\begin{matrix} {e_{lt} = {w^{T}{\tanh \left( {{Wq}_{l - 1} + {Vh}_{t} + {Uf}_{lt} + b} \right)}}} & (18) \\ {f_{l} = {F*a_{l - 1}}} & (19) \\ {a_{lt} = \frac{\exp \left( e_{ll} \right)}{\sum\limits_{\tau = 1}^{T}\; {\exp \left( e_{l\; \tau} \right)}}} & (20) \end{matrix}$

where W, V, F and U are matrices, and w and b are vectors, which are trainable parameters of the decoder network. e_(lt) is a matching score between the (l−1)-th state vector q_(l−1) and the t-th hidden vector h_(t) to form a temporal alignment distribution a_(l)={a_(lt)|t=1, . . . , T}. a_(l−1) represents the previous alignment distribution {a_((l−1)t)|t=1, . . . , T} used for predicting the previous label y_(l−1). f_(l)={f_(lt)|t=1, . . . , T} is the convolution result with F for a_(l−1), which is used to reflect the previous alignment to the current alignment. “*” denotes a convolution operation.

The label probability distribution is obtained with state vector q_(l−1) and content vector r_(l) as

Decoder(r _(l) ,q _(l−1))=softmax(W _(qy) q _(l−1) +W _(ry) r _(l) +b _(y)),  (21)

where W_(qy) and W_(ry) are matrices and b_(y) is a vector, which are trainable parameters of the decoder network. The softmax( ) function is computed as

$\begin{matrix} {{{softmax}(v)} = \left. \frac{\exp \left( {v\lbrack i\rbrack} \right)}{\sum\limits_{j = 1}^{K}\; {\exp \left( {v\lbrack i\rbrack} \right)}} \right|_{{i = 1},\; \ldots \;,K}} & (22) \end{matrix}$

for a K-dimensional vector v, where v[i] indicates the i-th element of v.

After that, decoder state vector q_(l−1) is updated to l_(it) using an LSTM as

q _(l) =o _(l) ^(D)⊙ tan h(c _(l) ^(D))  (23)

o _(l) ^(D)=σ(W _(xo) ^(D) x _(l) +W _(xc) ^(D) h _(l−1) ^(D) +b _(o) ^(D))  (24)

c _(l) ^(D) =f _(l) ^(D) ⊙c _(l−1) ^(D) +i _(l) ^(D)⊙ tan h(W _(xc) ^(D) x _(l) +W _(hc) ^(D) h _(l−1) ^(D) +b _(c) ^(D))  (25)

f _(l) ^(D)=σ(W _(xf) ^(D) x _(l) +W _(hg) ^(D) h _(l−1) ^(D) +b _(f) ^(D))  (26)

i _(l) ^(D)=σ(W _(xi) ^(D) x _(l) +W _(hi) ^(D) h _(l−1) ^(D) +b _(i) ^(D)).  (27)

where i_(l) ^(D), f_(l) ^(D), o_(l) ^(D) and c_(l) ^(D) are the input gate, forget gate, output gate, and cell activation vectors for input vector x_(l), respectively. The weight matrices W_(zz) ^(D) and the bias vector b_(z) ^(D) are the parameters of the LSTM, which are identified by the subscript in the same manner as the forward LSTM. The state vector q_(l) is obtained recursively from the input vector xf and the previous state vector q_(l−1), where q₀ is computed assuming q⁻¹=0, y₀=<sos>, and a₀=1/T. For the decoder network, the input vector x_(l) ^(D) is given as a concatenated vector of label y_(l) and content vector r_(l), which can be obtained as x_(l) ^(D)=[Embed(y_(l))^(T), r_(l) ^(T)]^(T), where Embed(·) denotes label embedding, that converts a label into a fixed dimensional vector. For example, it can be computed by

Embed(y)=W _(e) ^(D)OneHot(y),  (28)

where OneHot(y) denotes a 1-of-N coding of label y which converts a label index to a one hot vector representation. W_(e) ^(D) is a matrix, which is a trainable parameter.

All the parameters W_(zz) ^(D) and b_(z) ^(D) identified by the subscript z∈{x, h, i, f, o, c} and W_(qy), W_(ry), b_(y), W_(e) ^(D) are stored in the decoder network parameters 205, and used to compute the label probability distribution p_(att)(y|y₁, . . . , y_(l−1), X)

Label sequence search module 106 of a related art finds the most probable label sequence Ŷ in Eq. (1). However, it is difficult to enumerate all possible label sequences for Y and compute p_(att)(Y|X), because the number of possible label sequences increases exponentially to the length of the sequence. Therefore, a beam search technique is usually used to find Ŷ, in which shorter label sequence hypotheses are generated first, and only a limited number of hypotheses, which have a higher score than others, are extended to obtain longer hypotheses. Finally, the best label sequence hypothesis is selected in the complete hypotheses that reached the end of the sequence.

With the beam search method, label sequence search module 106 finds Ŷ as follows. Let Ω_(l) be a set of partial hypotheses of the length l. At the beginning of the first-pass beam search, ω₀ contains only one hypothesis with the starting symbol <sos>. For l=1 to L_(max), each partial hypothesis in Ω_(l−1) is expanded by appending possible single labels, and the new hypotheses are stored in Ω_(l), where L_(max) is the maximum length of the hypotheses to be searched. The score of each new hypothesis is computed in the log domain as

Φ_(att)(h)=Φ_(att)(g)+log p _(att)(y|g,X),  (29)

where g is a partial hypothesis in Ω_(l−1), y is a single label appended to g, and h is the new hypothesis, i.e. h=g·y. The probability p_(att)(y|g) can be computed by Eq. (16), where we assume Φ_(att)(<sos>)=0.

If y is a special label that represents the end of a sequence <eos>, h is added to {circumflex over (Ω)} but not Ω_(l), where {circumflex over (Ω)} denotes a set of complete hypotheses. Finally, Ŷ is obtained as

$\begin{matrix} {\hat{Y} = {\underset{h \in \hat{\Omega}}{argmax}\mspace{11mu} {{\Phi_{att}(h)}.}}} & (30) \end{matrix}$

In the beam search process, Ω_(l) is allowed to hold only a limited number of hypotheses with higher scores, and the other hypotheses are pruned to improve the search efficiency.

A more concrete procedure is summarized as follows.

Input: X, L_(max) Output: Ŷ  1: Ω₀ ← {<sos>}  2: {circumflex over (Ω)} ← ∅  3: Φ_(att)(<sos>) ← 0  4: for l = 1 . . . L_(max) do  5:  Ω_(l) ← ∅  6:  while Ω_(l−1) ≠ ∅ do  7:   g ← Head(Ω_(l−1))  8:   Dequeue(Ω_(l−1))  9:   for each y ϵ

 ∪ {<eos>} do 10:    h ← g · y 11:    Φ_(att)(h) ← Φ_(att)(g) + logp_(att)(y|g, X) 12:    if y = <eos> then 13:     Enqueue({circumflex over (Ω)}, h) 14:    else 15:     Enqueue(Ω_(l), h) 16:     if |Ω_(l)| > beamWidth then 17:      h_(min) ← arg min_(hϵΩ) _(l) Φ_(att)(h) 18:      Remove(Ω_(l), h_(min)) 19:     end if 20:    end if 21:   end for 22:  end while 23: end for 24: Ŷ ← arg

 Φ_(att)(h)

In this procedure, Ω_(l) and {circumflex over (Ω)} are implemented as queues that accept partial hypotheses of the length l and complete hypotheses, respectively. In lines 1-2, Ω₀ and {circumflex over (Ω)} are initialized as empty queues. In line 3, the score for the initial hypothesis <sos> is set to 0. In lines 4-23, each partial hypothesis g in Ω_(l−1) is extended by each label y in label set

∪{<eos>}, where operations Head(Ω) returns the first hypothesis in queue Ω, and Dequeue(Ω) removes the first hypothesis from the queue.

Each extended hypothesis h is scored using the attention decoder network in line 11. After that, if y=<eos>, the hypothesis h is assumed to be complete and stored in {circumflex over (Ω)} in line 13, where Enqueue({circumflex over (Ω)}, h) is an operation that adds h to {circumflex over (Ω)}. If y≠<eos>, h is stored in Ω_(l) in line 15, where the number of hypotheses in Ω_(l), i.e. |Ω_(l)|, is compared with a pre-determined number beamWidth in line 16. If |Ω_(l)| exceeds beamWidth, the hypothesis with the minimum score h_(min) in Ω_(l) is removed from Ω_(l) in lines 17-18, where Remove(Ω_(l), h_(min)) is an operation that removes h_(min) from Ω_(l). Finally, Ŷ is selected as the best hypothesis in line 24.

Open Vocabulary End-to-End Speech Recognition

In a method for performing end-to-end speech recognition using the open vocabulary end-to-end speech recognition module 200 according to embodiments of the invention,

LM-based label sequence probability p_(lm)(Y) in Eq. (31) and CTC-based label sequence probability p_(ctc)(Y|X) in Eq. (53) are combined with attention-based label sequence probability p_(att)(Y|X) in Eq. (14) to obtain more accurate label sequence probabilities, where these probabilities may be combined by linear combination.

LM Probability with Multi-Level RNN-LMs

LM probability can be computed as

$\begin{matrix} {{{p_{lm}(Y)} = {\prod\limits_{l = 1}^{L}\; {p_{lm}\left( {\left. y_{l} \middle| y_{1} \right.,\ldots \mspace{11mu},y_{l - 1}} \right)}}},} & (31) \end{matrix}$

using an RNN-LM or multi-level RNN-LMs, according to the embodiments of the invention.

An LM module 210 includes a character-level RNN-LM and a word-level RNN-LM, and their parameters are read from word LM parameters 211 and character LM parameters 212, respectively.

An RNN-LM may be used to compute a probability distribution over labels, which is estimated using the RNN-LM as

p _(lm)(y|y ₁ , . . . ,y _(l−1))=softmax^(L)(W _(sy) ^(LM) s _(l−1) +b _(y) ^(LM)),  (32)

where W_(sy) ^(LM) is a matrix and b_(y) ^(LM) is a vector, which are trainable parameters of the RNN-LM. s_(l−1) is the LM state vector, and can be updated to s_(l) using an LSTM for the RNN-LM as

s _(l) =o _(l) ^(LM)⊙ tan h(c _(l) ^(LM))  (33)

o _(l) ^(LM)=σ(W _(xo) ^(LM) x _(l) +W _(xc) ^(LM) h _(l−1) ^(LM) +b _(o) ^(LM))  (34)

c _(l) ^(LM) =f _(l) ^(LM) ⊙c _(l−1) ^(LM) +i _(l) ^(LM)⊙ tan h(W _(xc) ^(LM) x _(l) +W _(hc) ^(LM) h _(l−1) ^(LM) +b _(c) ^(LM))  (35)

f _(l) ^(LM)=σ(W _(xf) ^(LM) x _(l) +W _(hg) ^(LM) h _(l−1) ^(LM) +b _(f) ^(LM))  (36)

i _(l) ^(LM)=σ(W _(xi) ^(LM) x _(l) +W _(hi) ^(LM) h _(l−1) ^(LM) +b _(i) ^(LM)).  (37)

where i_(l) ^(LM), f_(l) ^(LM), o_(l) ^(LM) and c_(l) ^(LM) are the input gate, forget gate, output gate, and cell activation vectors for input vector x_(l) ^(LM), respectively. The weight matrices W_(zz) ^(LM) and the bias vector b_(z) ^(LM) are the parameters of the LSTM for the RNN-LM, which are identified by the subscript in the same manner as the forward LSTM. The state vector s_(l) is obtained recursively from the input vector x_(l) ^(LM) and the previous state vector s_(l−1), where s₀ is computed assuming s⁻¹=0 and y₀=<sos>. For the decoder network, the input vector x_(l) ^(LM) is given as a vector of label y_(l), which can be obtained as x_(l) ^(LM)=Embed(y_(l)), where Embed(·) denotes label embedding, that converts a label into a fixed dimensional vector. Embed(·) denotes label embedding, that converts a label into a fixed dimensional vector. For example, it can be computed by

Embed(y)=W _(e) ^(LM)OneHot(y),  (38)

where OneHot(y) denotes a 1-of-N coding of label y which converts a label index to a one hot vector representation. W_(e) ^(LM) is a matrix, which is a trainable parameter of the RNN-LM.

The label probability is obtained as the probability of y=y_(l) given the context, i.e.

p _(lm)(y _(l) |y ₁ , . . . ,y _(l−1))=p _(lm)(y=y _(l) |y ₁ , . . . ,y _(l−1))  (39)

Unlike the label probability given by the attention decoder network module 204, the LM probability does not depend on acoustic feature sequence X.

In the following, we introduce a method to compute label probability p_(lm)(y_(l)|y₁, . . . , y_(l−1)) by combining a character-level LM and a word-level LM for open-vocabulary end-to-end ASR.

Suppose there are two RNN-LMs, one is a character-level RNN-LM trained with a set of character sequences and the other is a word-level RNN-LM trained with a set of word sequences.

We denote a character probability computed by the character-level RNN-LM as p_(clm)(y_(l)|y₁, . . . , y_(l−1)) on character sequence y₁, . . . , t_(l−1), y_(l), and the word probability computed by the word-level RNN-LM as p_(wlm)p_(lm)(w_(m)|w₁, . . . , w_(m−1)) on word sequence w₁, . . . , w_(m−1), w_(m), respectively. The both probabilities can be computed in the same way as in Eqs. (32)-(39), but using different parameter sets.

We consider that the character-based end-to-end ASR systems can predict space characters between words as well as characters within the word. Note that the space character has an actual character code. With the space characters, it is possible to deterministically map any character sequence to a word sequence, e.g., character sequence

-   -   a, <space>, c, a, t, <space>, e, a, t, s     -   is mapped to a unique word sequence     -   a, cat, eats         where <space> formally represents the space character.         Accordingly, only when the decoder hypothesizes a space         character, it computes the probability of the last word using         the word-level RNN-LM and simply accumulates it to the         hypothesis score. No special treatment is necessary for         different types of homonyms: words with the same spelling but         different pronunciations are handled in a context-dependent way         by the word language model, whereas words with the same         pronunciation but different spellings are automatically handled         as different word hypotheses in the beam search. Similarly,         ambiguous word segmentations are automatically handled as         different decoding hypotheses.

The mechanism according to an embodiment can be implemented by modifying the character-level LM probabilities as follows.

Let V be the vocabulary of the word-level RNN-LM and be including an abstract symbol of OOV word such as <UNK>. We compute the conditional label probabilities in Eq. (31) as

$\begin{matrix} {{p_{lm}\left( c \middle| g \right)} = \left\{ \begin{matrix} \frac{p_{wlm}\left( w_{g} \middle| \psi_{g} \right)}{p_{clm}\left( w_{g} \middle| \psi_{g} \right)} & {{{{if}\mspace{14mu} c} \in S},{w_{g} \in V}} \\ {{p_{wlm}\left( {\text{<}{UNK}\text{>}} \middle| \psi_{g} \right)}\overset{\sim}{\beta}} & {{{{if}\mspace{14mu} c} \in S},{w_{g} \notin V}} \\ {p_{clm}\left( c \middle| g \right)} & {otherwise} \end{matrix} \right.} & (40) \end{matrix}$

where S denotes a set of labels that indicate the end of word, i.e., S={<space>, <eos>}, w_(g) is the last word of the character sequence g, and ψ_(g) is the word-level history, which is the word sequence corresponding to g excluding w_(g). For the above example, g, w_(g) and ψ_(g) are set as g=a, <space>, c, a, t, <space>, e, a, t, s w=eats ψ_(g)=a, cat. {tilde over (β)} is a scaling factor used to adjust the probabilities for OOV words.

The first condition on the right-hand side of Eq. (40) is used when the character c indicates the end of the previous word. In this case, the word-level probability p_(wlm)(w_(g)|ψ_(g)) is computed using the word-level RNN-LM. The denominator p_(clm)(w_(g)|ψ_(g)) is the probability of w_(g) obtained by the character-level RNN-LM and used to cancel the character-level LM probabilities accumulated for w_(g). The probability can be computed as

$\begin{matrix} {{p_{clm}\left( w_{g} \middle| \psi_{g} \right)} = {\prod\limits_{i = 1}^{w_{g}}\; {p_{clm}\left( {\left. w_{g,i} \middle| {\overset{\sim}{\psi}}_{g} \right.,w_{g,1},\ldots \mspace{11mu},w_{g,{i - 1}}} \right)}}} & (41) \end{matrix}$

where |w_(g)| is the length of word w_(g) in characters, w_(g,i) indicates the i-th character of w_(g) and {tilde over (ψ)}_(g) is the character representation of ψ_(g), e.g., if ψ_(g)=a, cat, then {tilde over (ψ)}_(g)=a, <space>, c, a, t, <space>.

Thus, the accumulated character-level LM probabilities on character sequence g are rescored by the corresponding word-level LM probabilities.

The second term, p_(wlm)(<UNK>ψ_(g)) acts as a weight on the character-level LM and ensures that the combined language model is normalized over character sequences both at word boundaries and in-between.

If w_(g) is an OOV word as in the second condition, we assume that a word-level probability for the OOV word can be computed with the word and character-level RNN-LMs as

p _(oov)(w _(g)|ψ_(g))=p _(wlm)(<UNK>|ψ _(g))p _(clm)(w _(g) |<UNK>,ψ _(g)).  (42)

Since the character-level probability satisfies

p _(clm)(w _(g) |<UNK>,ψ _(g))∝p _(clm)(w _(g)|ψ_(g)),  (43)

we approximate it as

$\begin{matrix} \begin{matrix} {{{pclm}\left( {\left. w_{g} \middle| {\text{<}{UNK}\text{>}} \right.,\psi_{g}} \right)} = \frac{p_{clm}\left( w_{g} \middle| \psi_{g} \right)}{1 - {\sum\limits_{w \in V}\; {p_{clm}\left( w \middle| \psi_{g} \right)}}}} \\ {= {{\beta \left( \psi_{g} \right)}{p_{clm}\left( w_{g} \middle| \psi_{g} \right)}}} \\ {{\approx {\overset{\sim}{\beta}\mspace{11mu} {p_{clm}\left( w \middle| \psi_{g} \right)}}},} \end{matrix} & (44) \end{matrix}$

and obtain

p _(oov)(w _(g)|ψ_(g))=p _(wlm)(<UNK>|ψ _(g)){tilde over (β)}p _(clm)(w _(g)|ψ_(g)).  (45)

where we assume the scaling factor β(ψ_(g))={tilde over (β)}, and set it as a tunable parameter. In the second condition of Eq. (40), character-based probability p_(clm)(w_(g)|ψ_(g)) is eliminated since it is already accumulated for the hypothesis. This term allows predicting OOV words as well as in-vocabulary words and enables open-vocabulary ASR.

The third case of Eq. (40) gives the character-level LM probabilities to the hypotheses within a word. Although the character-level LM probabilities are canceled at the end of every known word hypothesis and so are only used to score OOV words, they serve another important role in keeping the correct word hypotheses active in the beam search until the end of the word where the word-level LM probability is applied.

All the parameters W_(zz) ^(LM) and b_(z) ^(LM) identified by the subscript z∈{x, h, i, f, o, c} and W_(sy) ^(LM), b_(y) ^(LM), W_(e) ^(LM) of character-level and word-level LMs are stored in the character LM parameters 211 and the word LM parameters 212, respectively.

The parameters are used to compute the label probability distribution p_(lm)(y|y₁, . . . , y_(l−1)).

CTC Probability

The CTC module 208 computes a CTC forward probability of label sequence Y given hidden vector sequence H. Note that the CTC formulation uses L-length label sequence Y={y_(l)∈

|l=1, . . . , L} with a set of distinct labels

. By introducing framewise label sequence with an additional “blank” label, Z={z_(t)∈

∪{b}|t=1, . . . , T}, where b represents a blank label. By using the probabilistic chain rule and conditional independence assumption, the posterior distribution p(Y|X) is factorized as follows:

$\begin{matrix} {{{p\left( Y \middle| X \right)} \approx {\sum\limits_{Z}\; {{p\left( Y \middle| Z \right)}{p\left( Z \middle| X \right)}}} \approx {\sum\limits_{Z}\; {{p\left( Y \middle| Z \right)}{\prod\limits_{t}\; {p\left( z_{t} \middle| X \right)}}}} \approx {\sum\limits_{Z}{\prod\limits_{t}\mspace{11mu} {{p\left( {\left. z_{t} \middle| z_{t - 1} \right.,Y} \right)}{p\left( z_{t} \middle| X \right)}}}}},} & (46) \end{matrix}$

where p(z_(t)|z_(t−1)|Y) is considered a label transition probability including blank labels. p(z_(t)|X) is the framewise posterior distribution conditioned on the input sequence X, and modeled by using bidirectional long short-term memory (BLSTM):

p(z _(t) |X)=softmax(W _(hy) ^(CTC) h _(t) +b _(y) ^(CTC)),  (47)

where h_(t) is obtained with an encoder network. W_(hy) ^(CTC) is a matrix and b_(y) ^(CTC) is a vector, which are trainable parameters of CTC and stored in CTC network parameters 209. Although Eq. (46) has to deal with a summation over all possible Z, it is efficiently computed by using a forward algorithm.

The forward algorithm for CTC is performed as follows. We use an extended label sequence Y′=y′₁, y′₂, . . . , y′_(2L+1)=b, y₁, b, y₂, . . . , b, y_(L), b of length 2L+1, where a blank label “b” is inserted between each pair of adjacent labels. Let α_(t)(s) be a forward probability, which represents the posterior probability of label sequence y₁, . . . , y_(l) for time frames 1, . . . , t, where s indicates the position in the extended label sequence Y′.

For initialization, we set

α₁(1)=p(z ₁ =b|X)  (48)

α₁(2)=p(z ₁ =y ₁ |X)  (49)

α₁(s)=0,∀s>2.  (50)

For t=2 to T, α_(t)(s) is computed recursively as

$\begin{matrix} {{\alpha_{t}(s)} = \left\{ {\begin{matrix} {{{\overset{\_}{\alpha}}_{t}(s)}{p\left( {z_{t} = \left. y_{s}^{\prime} \middle| X \right.} \right)}} & {{{if}\mspace{14mu} y_{s}^{\prime}} = {{b\mspace{14mu} {or}\mspace{14mu} y_{s - 2}^{\prime}} = y_{s}^{\prime}}} \\ {\left( {{{\overset{\_}{\alpha}}_{t}(s)} + {\alpha_{t - 1}\left( {s - 2} \right)}} \right){p\left( {z_{t} = \left. y_{s}^{\prime} \middle| X \right.} \right)}} & {otherwise} \end{matrix},} \right.} & (51) \\ {\mspace{79mu} {where}} & \; \\ {\mspace{79mu} {{{\overset{\_}{\alpha}}_{t}(s)} = {{\alpha_{t - 1}(s)} + {{\alpha_{t - 1}\left( {s - 1} \right)}.}}}} & (52) \end{matrix}$

Finally, the CTC-based label sequence probability is obtained as

p _(ctc)(Y|X)=α_(T)(2L+1)+α_(T)(2L).  (53)

The framewise label sequence Z represents an alignment between input acoustic feature sequence X and output label sequence Y. When computing the forward probability, the recursion of Eq. (51) enforces Z to be monotonic and does not allow looping or big jumps of s in alignment Z, because the recursion to obtain α_(t)(s) only considers at most α_(t−1)(s), α_(t−1)(s−1), α_(t−1)(s−2). This means that when time frame proceeds one frame, the label changes from the previous label or blank, or keeps the same label. This constraint plays a role of the transition probability p(z_(t)|z_(t−1), Y) that enforces alignments to be monotonic. Hence, p_(ctc)(Y|X) can be 0 or a very small value when it is computed based on irregular (non-monotonic) alignments.

FIG. 3 is a schematic diagram illustrating a combined neural network module 300 according to embodiments of the present invention. The combined neural network 300 includes an encoder network module 202, an attention decoder network module 204, a CTC module 208 and a LM module 210. Each arrow represents a data transfer with or without transformation, and each square or circle node represents a vector or a predicted label. Acoustic feature sequence X=x₁, . . . , x_(T) is fed to the encoder network module 202, where two BLSTMs are stacked and every second hidden vectors of the first BLSTM are fed to the second BLSTM. The output of the encoder module 202 results in hidden vector sequence H=h′₁, h′₂, . . . , h′_(T) where T′=T/2. Then, H is fed to the CTC module 208 and the decoder network module 204. The CTC-based, attention-based and LM-based sequence probabilities are computed with the CTC module 208, the decoder network module 204, and the LM module 210, respectively, and combined to obtain the label sequence probability.

Label Sequence Search for Open-Vocabulary End-to-End ASR

Label sequence search module 206 finds the most probable label sequence Ŷ according to the combined label sequence probabilities as

$\begin{matrix} {{\hat{Y} = {\underset{Y \in ^{*}}{argmax}\; \left\{ {{\lambda \; \log \mspace{11mu} {p_{ctc}\left( Y \middle| X \right)}} + {\left( {1 - \lambda} \right)\log \mspace{11mu} {p_{att}\left( Y \middle| X \right)}} + {\kappa \; \log \mspace{11mu} {p_{lm}(Y)}}} \right\}}},} & (54) \end{matrix}$

where p_(ctc) (Y|X) is the CTC-based label sequence probability in Eq. (53), p_(att)(Y|X) is the attention-based label sequence probability in Eq. (14), and p_(lm)(Y) is the LM-based label sequence probability in Eq. (31). λ and κ are scaling factors to balance these three probabilities.

In the beam search process of the present invention, the score of each partial hypothesis h is computed as

Φ_(joint)(h)=λΦ_(ctc)(h,X)+(1−A)Φ_(att)(h)+κΦ_(lm)(h),  (55)

where Φ_(att)(h) is computed by Eq. (29) and Φ_(1m)(h) is obtained as

Φ_(lm)(h)=Φ_(lm)(g)+log p _(lm)(y|g),  (56)

To compute Φ_(ctc) (h, X), we utilize the CTC prefix probability defined as the cumulative probability of all label sequences that have h as their prefix:

$\begin{matrix} {{{p_{ctc}\left( {h,\left. \ldots \middle| X \right.} \right)}\overset{\Delta}{=}{\sum\limits_{v \in {({\bigcup{\{{< {eos} >}\}}})}^{+}}\; {p_{ctc}\left( {h \cdot v} \middle| X \right)}}},} & (57) \end{matrix}$

and we define the CTC score as

Φ_(ctc)(h,X)

log p _(ctc)(h, . . . |X),  (58)

where v represents all possible label sequences except the empty string. The CTC score cannot be obtained recursively as Φ_(att)(h) in Eq. (29) and Φ_(1m)(h) in Eq. (56), but it can be computed efficiently by keeping the forward probabilities over the input time frames for each partial hypothesis.

According to the embodiments of the present invention, label sequence search module 206 finds Ŷ according to the following procedure.

Input: X, L_(max) Output: Ŷ  1: Ω₀ ← {<sos>}  2: {circumflex over (Ω)} ← ∅  3: Φ_(att)(<sos>) ← 0  4: Φ_(1m)(<sos>) ← 0  5: for l = 1 . . . L_(max) do  6:  Ω_(l) ← ∅  7:  while Ω_(l−1) ≠ ∅ do  8:   g ← Head(Ω_(l−1))  9:   Dequeue(Ω_(l−1)) 10:   for each y ϵ

 ∪ {<eos >} do 11:    h ← g · y 12:    Φ_(att)(h) ← Φ_(att)(g) + logp_(att)(y|g, X) 13:    Φ_(1m)(h) ← Φ_(1m)(g) + logp_(1m)(y|g) 14:    Φ_(joint)(h) ← λΦ_(ctc)(h, X) + (1 − λ)Φ_(att)(h) + κΦ_(1m)(h) 15:    if y = <eos> then 16:     Enqueue({circumflex over (Ω)}, h) 17:    else 18:     Enqueue(Ω_(l), h) 19:     if |Ω_(l)| > beamWidth then 20:      h_(min) ← arg min_(hϵΩ) _(l) Φ_(joint)(h) 21:      Remove(Ω_(l), h_(min)) 22:     end if 23:    end if 24:   end for 25:  end while 26: end for 27: Ŷ ← arg

{Φ_(joint)(h) + κlogp_(w1m)(<eos>|ψ_(h), w_(h))}

There are some differences from the beam search method for the attention-based end-to-end ASR of a prior art.

In line 4, a LM score is initialized. In line 14, a joint score Φ_(joint)(h) is computed using CTC score Φ_(ctc)(h, X), attention-based score Φ_(att)(h), and LM score Φ_(lm)(h). In line 20, the joint score Φ_(joint)(h) is used to select h_(min). In line 27, the joint score Φ_(joint)(h) and the word-level LM probability for <eos> are combined to decide P. Since the word-level LM probability for <eos> is not considered in Eq. (40), it needs to be combined in the final decision.

CTC score Φ_(ctc)(h, X) can be computed using a modified forward algorithm. Let γ_(t) ^((n))(h) and γ_(t) ^((b))(h) be the forward probabilities of the hypothesis h over the time frames 1 . . . t, where the superscripts (n) and (b) denote different cases in which all CTC paths end with a nonblank or blank label, respectively. Before starting the beam search, γ_(t) ^((n))(·) and γ_(t) ^((b))(·) are initialized for t=1, . . . , T as

$\begin{matrix} {{{\gamma_{t}^{(n)}\left( {\text{<}{sos}\text{>}} \right)} = 0},} & (59) \\ {{{\gamma_{t}^{(b)}\left( {\text{<}{sos}\text{>}} \right)} = {\prod\limits_{\tau = 1}^{t}\; {{\gamma_{\tau - 1}^{(b)}\left( {\text{<}{sos}\text{>}} \right)}{p\left( {z_{\tau} = \left. b \middle| X \right.} \right)}}}},} & (60) \end{matrix}$

where we assume that γ₀ ^((b))(<sos>)=1 and b is a blank label. Note that the time index t and input length T may differ from those of the input utterance X owing to the subsampling technique for the encoder. The CTC score function can be implemented as follows.

Input: h, X Output: Φ_(ctc) (h, X)  1: g, y ← h

 split h into the last label y and the rest g  2: if y = <eos> then  3:  return log{γ_(T) ^((n))(g) + γ_(T) ^((b))(g)}  4: else  5:   $\left. {\gamma_{1}^{(n)}(h)}\leftarrow\left\{ \begin{matrix} {p\left( {z_{1}\; = \; \left. y \middle| X \right.} \right)} & {{{if}\mspace{14mu} g}\; = \; {< {sos} >}} \\ 0 & {otherwise} \end{matrix} \right. \right.$  6:  γ₁ ^((b))(h) ← 0  7:  Ψ ← γ₁ ^((n))(h)  8:  for t = 2 . . . T do  9:    $\left. \Gamma\leftarrow{{\gamma_{t - 1}^{(b)}(g)} + \left\{ \begin{matrix} 0 & {{{if}\mspace{14mu} {{last}(g)}} = y} \\ {\gamma_{t - 1}^{(n)}(g)} & {otherwise} \end{matrix} \right.} \right.$ 10:   γ_(t) ^((n))(h) ← (γ_(t−1) ^((n))(h) + Γ)p(z_(t) = y|X) 11:   γ_(t) ^((b))(h) ← (γ_(t−1) ^((b))(h) + γ_(t−1) ^((n))(h))p(z_(t) = b|X) 12:   Ψ ← Ψ + Γp(z_(t) = y|X) 13:  end for 14:  return log(Ψ) 15: end if

In this function, the given hypothesis h is first split into the last label y and the rest g in line 1. If y is <eos>, it returns the logarithm of the forward probability assuming that h is a complete hypothesis in line 3. The forward probability of h is given by

p _(ctc)(h|X)=γ_(T) ^((n))(g)+γ_(T) ^((b))(g)  (61)

according to the definition of γ_(t) ^((n))(·) and γ_(t) ^((b))(·). If y is not <eos>, it computes the forward probabilities γ_(t) ^((n))(h) and γ_(t) ^((b))(h), and the prefix probability Ψ=p_(ctc)(h, . . . |X) assuming that h is not a complete hypothesis. The initialization and recursion steps for those probabilities are described in lines 5-13. In this function, it is assumed that whenever computing γ_(t) ^((n))(h), γ_(t) ^((b))(h) and Ψ in lines 10-12, the probabilities γ_(t−1) ^((n))(g) and γ_(t−1) ^((b))(g) in line 9 have already been obtained through the beam search process because g is a prefix of h such that |g|<|h|. Accordingly, the prefix and forward probabilities can be computed efficiently. Note that last(g) in line 9 is a function that returns the last label of g.

Thus, the beam search method can exclude partial hypotheses with irregular alignments by the CTC score during the search process, and hopefully reduces the number of search errors with less computation compared to the rescoring method. The search error means that the most probable hypothesis is missed by the beam search. In this case, an alternative hypothesis with a less score is obtained instead of the best hypothesis, where the alternative hypothesis generally contains more recognition errors than the best one.

Network Training

Before using the ASR system, the network parameters 203, 205 and 209 are jointly optimized so that the loss function

$\begin{matrix} {{{\mathcal{L}\left( {X,Y,\Theta} \right)} = {{\sum\limits_{n = 1}^{N}\; {{- \lambda}\mspace{11mu} \log \mspace{11mu} {p_{ctc}\left( {\left. Y_{n} \middle| X_{n} \right.,\Theta} \right)}}} - {\left( {1 - \lambda} \right)\log \mspace{11mu} {p_{att}\left( {\left. Y_{n} \middle| X_{n} \right.,\Theta} \right)}}}},} & (62) \end{matrix}$

is reduced, where X and Y are training data including acoustic feature sequences and label sequences. Θ denotes a set of network parameters. N is the number of training samples, X_(n) and Y_(n) are the n-th acoustic feature sequence and the corresponding label sequence in the training data, respectively. p_(ctc)(Y_(n)|X_(n),Θ) is the CTC-based sequence probability in Eq. (53) computed with parameter set Θ and p_(att)(Y_(n)|X_(n),Θ) is the attention-based sequence probability in Eq. (14) computed with parameter set Θ. The network parameters may be optimized by a stochastic gradient descent method to reduce the loss function. The training procedure jointly optimizes the encoder, decoder, and CTC networks.

Character LM parameters 211 and word-level LM parameters 212 are independently optimized using character sequence data Y^((c)) and word sequence data Y^((w)).

The loss function for the character-level RNN-LM is

$\begin{matrix} {{{\mathcal{L}\left( {Y^{(C)},\Theta_{clm}} \right)} = {\sum\limits_{n = 1}^{N^{(w)}}\; {{- \log}\mspace{11mu} {p_{clm}\left( Y_{n}^{(c)} \middle| \Theta_{clm} \right)}}}},} & (63) \end{matrix}$

and that for the word-level RNN-LM is

$\begin{matrix} {{{\mathcal{L}\left( {Y^{(w)},\Theta_{wlm}} \right)} = {\sum\limits_{n = 1}^{N^{(w)}}\; {{- \log}\mspace{11mu} {p_{wlm}\left( Y_{n}^{(w)} \middle| \Theta_{wlm} \right)}}}},} & (64) \end{matrix}$

where Θ_(clm) and Θ_(wlm) denote sets of character LM parameters and word LM parameters, respectively. p_(clm)(Y_(n) ^((c))|Θ_(clm)) and p_(wlm)(Y_(n) ^((w))|Θ_(wlm)) are the LM probabilities computed as in Eq. (31). N^((c)) is the number of training samples in Y^((c)) and Y_(n) ^((c)) is the n-th character sequence in Y^((c)). N^((w)) is the number of training samples in Y^((w)) and Y_(n) ^((W)) is the n-th word sequence in Y^((w)).

The LM parameters may be optimized by a stochastic gradient descent method to reduce the loss function.

Open-Vocabulary End-to-End Speech Recognition Apparatus

FIG. 4 shows a block diagram of an open-vocabulary end-to-end speech recognition system (speech recognition system) 400 according to some embodiments of the invention. The speech recognition system 400 includes a human machine interface (HMI) 410 connectable with a keyboard 411 and a pointing device/medium 412, one or more processor 420, a storage device 430, a memory 440, a network interface controller 450 (NIC) connectable with a network 490 including local area networks and internet network, a display interface 460, an audio interface 470 connectable with a microphone device 475, a printer interface 480 connectable with a printing device 485. The memory 440 may be one or more memory units. The end-to-end speech recognition system 400 can receive electric audio waveform/spectrum data 495 via the network 490 connected to the NIC 450. The storage device 430 includes an end-to-end speech recognition module 200, an attention decoder network module 204, an encoder network module 202, a CTC module 208, and an acoustic feature extraction module 434. A label sequence search module, encoder network parameters, decoder network parameters and CTC network parameters are omitted in the figure. The pointing device/medium 412 may include modules that read programs stored on a computer readable recording medium. The attention decoder network module 204, the encoder network module 202, and the CTC module 208 may be formed by neural network parameters. The acoustic feature extraction module 434 is a program used to extract an acoustic feature sequence from. The acoustic feature sequence may be a sequence of mel-scale filterbank coefficients with their first and second order temporal derivatives and/or pitch features.

For performing the end-to-end speech recognition, instructions may be transmitted to the end-to-end speech recognition system 400 using the keyboard 411, the pointing device/medium 412 or via the network 490 connected to other computers (not shown in the figure). The system 400 receives instructions via the HMI 410 and executes the instructions for performing end-to-end speech recognition using the processor 420 in connection with the memory 440 by loading the end-to-end speech recognition module 200, the attention decoder network module 204, the encoder network module 202, the CTC module 208, and the acoustic feature extraction module 434 stored in the storage device 430.

Evaluation Results

FIG. 5 is an evaluation result obtained by performing an open-vocabulary end-to-end speech recognition, according to embodiments of the present invention.

The evaluation was performed using the Wall Street Journal (WSJ) corpus, which is a well-known English clean speech database. We used the si284 data set for training, the dev93 data set for validation, and the eva192 data set for evaluation. The data sets are summarized in FIG. 5A

As input features, we used 80 mel-scale filterbank coefficients with pitch features and their delta and delta delta features for the BLSTM encoder, where we also added a convolutional neural network (CNN) layers before the BLSTM encoder. For the attention model, we used only 32 distinct labels: 26 English letters, apostrophe, period, dash, space, noise, and sos/eos tokens. The CTC model used the blank instead of sos/eos, and our MTL model used both sos/eos and the blank.

Further, the encoder network is boosted by using the CNN, which is motivated by prior studies. We used a 6-layer architecture based on the initial layers of the CNN architecture followed by eight BLSTM layers in the encoder network. In the CNN architecture, the initial three input channels are composed of the spectral features, delta, and delta delta features. Input speech feature images are downsampled to (¼×¼) images along with the time-frequency axes through the two max-pooling layers. The BLSTM layers had 320 cells in each layer and direction, and the linear projection layer with 320 units is followed by each BLSTM layer.

We used the location-based attention mechanism, where the 10 centered convolution filters of width 100 were used to extract the convolutional features. The decoder was a one-layer unidirectional LSTM with 300 cells.

The AdaDelta algorithm with gradient clipping was used for the optimization. We also applied a unigram label smoothing technique to avoid over-confidence predictions. In the hybrid attention/CTC architecture, we used the λ=0.1 for training and the λ=0.2 and the γ=1.1 for decoding. The beam width was set to 30 in decoding under all conditions. The hybrid attention/CTC-based ASR with multi-level LMs was implemented by using the Chainer deep learning toolkit.

Character-level and word-level RNN-LMs were trained with the WSJ text corpus, which consisted of 37M words from 1.6M sentences. The character-level LM had a single LSTM layer with 800 cells and a 32-dimensional softmax layer while the word-level LM had a single LSTM layer with 1000 cells and a 20000-dimensional softmax layer, which equals the vocabulary size of the LM. We used the stochastic gradient descent (SGD) to optimize the RNN-LMs. The first experiment evaluates the contributions of language models.

FIG. 5B shows word error rate (WER) with different language models, according to embodiments of the present invention. The character-level LM reduces the WER from 13.4% to 11.5% even when using the transcriptions of si284 speech data for LM training, whose size is only 1.8% of the WSJ text corpus. This means that the separate language model has some complementary effect on the prediction performance. The WER is reduced to 7.7% by using more data from the WSJ text corpus. Next, we incorporate a word-level RNN-LM without any character-level

RNN-LMs, where only word-level RNN-LM probabilities were applied at every position of space or end-of-sentence character. In this case, the WER increased up to 12.6%. Finally, when using both character and word-level RNN-LMs according to the proposed method, we have obtained a big improvement reaching 5.6% WER.

To investigate the reason for the high WER when using only the word-level RNN-LM, we conducted additional experiments with different beam widths ranging from 5 to 40.

FIG. 6 is an evaluation result indicating word error rates as a function of beam widths, according to an open-vocabulary end-to-end speech recognition, according to embodiments of the present invention. FIG. 6 shows WERs for each beam width. Without character LM, i.e., No LM or Word LM, the WER is almost independent of the beam width. This means that the decoder network predicts labels with high confidence and does not change the result even with a wider beam. Consequently, applying the word-level LM probability at each word end is too late to recover better hypotheses using the word-level information. Our proposed method (word+character LM) achieves the lowest WER by combining the character-level LM as a guide for finding better word sequence hypotheses in beam search. Although the label smoothing technique we used for training the network mitigates this overconfidence problem to some extent, it seems difficult to recover the less-confident labels without any help of character-level LMs.

The second experiment investigates the benefit of the open vocabulary provided by the proposed method.

FIG. 7 is an evaluation result comparing WERs when using different vocabulary sizes from 20K to 65K and the open vocabulary condition. The comparison of WERs is performed with restricted vocabulary during decoding.

The vocabularies were just used to constrain all hypotheses to be consisted of only in-vocabulary words. This constraint can be forced by allowing only character sequences appearing in the vocabulary during decoding. As shown in the table, when using a closed vocabulary, the WER does not reach the best WER in the open vocabulary condition. Even with a small 00V rate by the 65K vocabulary, there is still a 1.8% gap to the best WER. We checked the recognition results, and found that they had more deletion errors. This seems to be because when the decoder cannot hypothesize label sequences with high probabilities due to the vocabulary constraint, the scores for the active hypotheses become smaller, and therefore shorter hypotheses tend to be selected as the result. In a standard Wall Street Journal (WSJ) task, we achieved 5.6% WER for the Eval'92 test set using only the SI284 training set and WSJ text data, which is the best.

In some embodiments of the present disclosure, when the end-to-end speech recognition system described above is installed in a computer system, speech recognition can be effectively and accurately performed with less computing power, thus the use of the end-to-end speech recognition method or system of the present disclosure can reduce central processing unit usage and power consumption.

Further, embodiments according to the present disclosure provide and effective method for performing end-to-end speech recognitions, thus, the use of a method and system using the end-to-end speech recognition model can reduce central processing unit (CPU) usage, power consumption and/or network band width usage.

The above-described embodiments of the present disclosure can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.

Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

Further, the embodiments of the present disclosure may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments. Further, use of ordinal terms such as first, second, in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.

Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure. 

We claim:
 1. A speech recognition system comprising: an input device to receive voice sounds; one or more processors; and one or more storage devices storing parameters and program modules including instructions executable by the one or more processors which, when executed, cause the one or more processors to perform operations comprising: extracting, using an acoustic feature extraction module, an acoustic feature sequence from audio waveform data converted from the voice sounds; encoding the acoustic feature sequence into a hidden vector sequence using an encoder network having encoder network parameters; predicting first output label sequence probabilities by feeding the hidden vector sequence to a decoder network having decoder network parameters; predicting second output level sequence probabilities by a hybrid network using character-level language models (LMs) and word-level LMs; and searching, using a label sequence search module, for an output label sequence having a highest sequence probability by combining the first and second output label sequence probabilities provided from the decoder network and the hybrid network.
 2. The speech recognition system of claim 1, wherein the operations further comprising: predicting third output label sequence probabilities by a connectionist temporal classification (CTC) module using CTC network parameters and the hidden vector sequence from the encoder network, wherein the searching is performed by combining the first, second and third output label sequence probabilities provided from the decoder network, the hybrid network and the CTC module.
 3. The speech recognition system of claim 1, the hybrid network comprises a character-level recurrent neural network (RNN) computing character-level probabilities and a word-level RNN computing word-level probabilities.
 4. The speech recognition system of claim 1, wherein the decoder network receives a previous label from the label sequence search module before predicting the first output label sequence probabilities.
 5. The speech recognition system of claim 2, wherein the CTC module receives a previous label from the label sequence search module before predicting the third output label sequence probabilities.
 6. The speech recognition system of claim 1, wherein the encoder network includes stacked Bidirectional Long Short-Term Memories (BLSTMs) and a convolutional neural network (CNN).
 7. The speech recognition system of claim 1, wherein the decoder network includes stacked Long Short-Term Memories (LSTMs) and uses an attention mechanism for the hidden vector sequence to predict each of the output label sequence probabilities.
 8. The speech recognition system of claim 1, wherein a liner combination in logarithmic domain is used for combining the first and second output label sequence probabilities.
 9. The speech recognition system of claim 1, wherein the searching uses a beam search to find the output label sequence with the highest sequence probability obtained by combining the first and second output label sequence probabilities provided from the decoder network and the CTC module.
 10. The speech recognition system of claim 8, wherein the beam search first finds a set of complete label sequence hypotheses using the first label sequence probabilities provided from the decoder network, and then finds, from among the set of complete label sequence hypotheses, the output label sequence with the highest sequence probability obtained by combining the first and second output label sequence probabilities provided from the decoder network and the CTC module.
 11. The speech recognition system of claim 8, wherein the beam search prunes incomplete label sequence hypotheses with a low sequence probability compared to the other incomplete label sequence hypotheses, and the sequence probabilities are obtained by combining the first and second output label sequence probabilities provided from the decoder network and the CTC module.
 12. The speech recognition system of claim 1, wherein the CTC module computes posterior probability distributions using the CTC network parameters and a dynamic programming technique for predicting the second output label sequence probabilities.
 13. A non-transitory computer readable-recoding medium storing a program causing a computer, in communication with a memory, to execute speech recognition process, the speech recognition process comprising: providing voice sounds; extracting, using an acoustic feature extraction module, an acoustic feature sequence from audio waveform data converted from the voice sounds; encoding the acoustic feature sequence into a hidden vector sequence using an encoder network having encoder network parameters; predicting first output label sequence probabilities by feeding the hidden vector sequence to a decoder network having decoder network parameters; predicting second output level sequence probabilities by a hybrid network using character-level language models (LMs) and word-level LMs; and searching, using a label sequence search module, for an output label sequence having a highest sequence probability by combining the first and second output label sequence probabilities provided from the decoder network and the hybrid network.
 14. The medium of claim 13, wherein the speech recognition process further comprising: predicting third output label sequence probabilities by a connectionist temporal classification (CTC) module using CTC network parameters and the hidden vector sequence from the encoder network, wherein the searching is performed by combining the first, second and third output label sequence probabilities provided from the decoder network, the hybrid network and the CTC module.
 15. The medium of claim 13, wherein the hybrid network comprises a character-level recurrent neural network (RNN) computing character-level probabilities and a word-level RNN computing word-level probabilities.
 16. The medium of claim 13, wherein the decoder network receives a previous label from the label sequence search module before predicting the first output label sequence probabilities.
 17. The medium of claim 14, wherein the CTC module receives a previous label from the label sequence search module before predicting the third output label sequence probabilities. 